package com.lagou.nio;

import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class FileOutput {

    public static void main(String[] args) throws IOException {
        // 创建文件输出流
        FileOutputStream fileOutputStream = new FileOutputStream("file.txt");
        // 从文件输出流获取通道
        FileChannel outputStreamChannel = fileOutputStream.getChannel();
        // 要操作的字符串
        String string = "hello, world";
        // 从字符串获取字节数组
        byte[] bytes = string.getBytes();
        // 新建字节 buffer， 并初始化容量为 1024
        ByteBuffer allocate = ByteBuffer.allocate(1024);
        // 将字符串数据放入 buffer
        allocate.put(bytes);
        // 将 buffer 切换为读数据模式
        allocate.flip();
        // 从 buffer 中读取数据， 并放入输出流中
        outputStreamChannel.write(allocate);

        // 关闭 channel
        outputStreamChannel.close();
        // 关闭输出流
        fileOutputStream.close();
    }
}
